import baseURL from "@/config/baseURL";
import { toArray } from "../utils";

// ---------------- 配置文件 config/updateConfig.js ----------------
export default {
  // 应用基础信息
  androidAppId: "com.xxxx.xxxx" ?? "com.default.package", // 当前应用包名（兼容H5环境）
  iosAppId: "www.xxxxx.com", // iOS App Store 实际应用ID（需替换为真实ID）
  defaultVersion: "1.0.0", // 默认本地版本号（获取失败时使用）
  forcePage: "/pagesE/UpdateDownloader/index", // 强制更新跳转页面路径

  // 更新请求配置
  updateRequest: {
    url: `${baseURL}/upload/list`, // 远程更新接口地址
    method: "POST", // 请求方式（大写）
    header: {
      "Content-Type": "application/json"
      // 可添加通用请求头（如token）
      // "Authorization": "Bearer {{token}}"
    },
    data: {
      // 可添加固定请求参数
      // platform: uni.getSystemInfoSync().platform
    }
  },

  // 更新信息映射函数（将接口返回格式转换为更新工具所需格式）
  infoMapFun(updateInfo) {
    // 容错处理：确保基础数据结构安全
    if (!updateInfo?.data?.[0]) {
      console.warn("更新接口返回格式异常，使用默认空数据");
      return { edition_urls: [] };
    }

    const remoteData = updateInfo.data[0];

    return {
      // 更新包地址（确保为数组格式）
      edition_urls: toArray(remoteData.editionUrl) ?? [],

      // 包类型：0=整包(APK/IPA)，1=WGT热更新包
      package_type: Number(remoteData.packageType) ?? 1,
      // package_type: 0 ?? 1,

      // 是否强制更新：0=否，1=是
      // 注意：WGT强制更新需同时配置edition_silence=0
      // edition_force: 1, // 临时强制更新（实际应使用接口返回值）
      edition_force: Number(remoteData.editionForce) ?? 0,

      // 是否静默更新（仅WGT有效）：0=显示进度，1=后台更新
      // edition_silence: 0, // 临时关闭静默更新（实际应使用接口返回值）
      edition_silence: Number(remoteData.editionSilence) ?? 0,

      // 是否发行：0=否（不上线），1=是（已上线）
      // 用于应用市场审核时隐藏更新提示
      // edition_issue: 1, // 临时强制发行状态（实际应使用接口返回值）
      edition_issue: Number(remoteData.editionIssue) ?? 0,

      // 更新内容描述
      describe: remoteData.describe ?? "优化应用体验，修复已知问题",

      // 远程版本名称（如1.0.1）
      edition_name: remoteData.editionName ?? "1.0.0",

      // 远程版本号（数字，用于版本比较）
      edition_number: remoteData.editionNumber ?? "100",

      // 是否跳转应用商店更新（仅整包有效）：0=否，1=是
      edition_open_store: Number(remoteData.editionOpenStore) ?? 0,
      // edition_open_store: 0 ?? 0,

      // 新增：WGT支持的APK版本范围（跨版本更新校验），该 WGT 可兼容的 APK 最低版本号 和 APK 最高版本号
      min_support_apk_version: remoteData.minSupportApkVersion ?? "0.0.0",
      // max_support_apk_version: remoteData.maxSupportApkVersion ?? "999.999.999"
      // min_support_apk_version: "1.2.8" ?? "0.0.0",
      max_support_apk_version: remoteData.maxSupportApkVersion ?? "999.999.999"
    };
  }
};
